d6d33f5d2ddcb3438169385a2dac5ac2754105ef,grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/model/config/JpaMappingConfigurationStrategy.java,JpaMappingConfigurationStrategy,getPersistentProperties,#PersistentEntity#MappingContext#ClassMapping#boolean#,34

Before Change


            if (hasAnnotation(readMethod, field, Id.class)) {
                continue;
            }
            if (hasAnnotation(readMethod, field, EmbeddedId.class)) {
                continue;
            }

After Change


        for (MetaProperty metaProperty : cpf.getMetaProperties()) {
            PropertyDescriptor descriptor = propertyFactory.createPropertyDescriptor(metaProperty);

            if (descriptor == null || descriptor.getPropertyType() == null || descriptor.getPropertyType() == Object.class) {
                // indexed property
                continue;
            }
            if (descriptor.getReadMethod() == null || descriptor.getWriteMethod() == null) {
                // non-persistent getter or setter
                continue;
            }

            final String propertyName = descriptor.getName();
            Method readMethod = descriptor.getReadMethod();

            Field field;
            try {
                field = cpf.getDeclaredField(descriptor.getName());
            } catch (Exception e) {
                continue;
            }

            if (hasAnnotation(readMethod, field, Transient.class)) {
                continue;
            }

            if (isExcludedProperty(propertyName, classMapping, new ArrayList<>(), includeIdentifiers)) continue;

            Class<?> propertyType = descriptor.getPropertyType();

            if(getAnnotation(readMethod, field, Id.class) != null) {
                persistentProperties.add( propertyFactory.createIdentity(entity, context, descriptor));
            }
            else if(getAnnotation(readMethod, field, EmbeddedId.class) != null) {
                persistentProperties.add( propertyFactory.createIdentity(entity, context, descriptor));
            }
            else if (getAnnotation(readMethod, field, Embedded.class) != null) {